package com.yunkeji.common.constant;

/**
 * 缓存的key 常量
 *
 * @author yunkeji
 */
public interface CacheConstants {

    /** 消息内容 */
    String MSG_CHECK = "msg:check:";

    /** 更新昵称限制 */
    String UPDATE_NICKNAME_INFO_LIMIE = "limit:update:nickname:";

    /** 更新相册限制 */
    String UPDATE_ALBUM_LIMIE = "limit:update:album:";
    /** 封号限制 */
    String VIDEO_BAN_LIMIT = "limit:video:ban:";
    /** 更新头像限制 */
    String UPDATE_HEAD_INFO_LIMIE = "limit:update:head:";

    /** 账号删除计时 */
    String LOCK_DEL_ACCOUNT_TIMER = "lock:del:account:timer:";

    /** 会员过期计时 */
    String LOCK_MEMBER_EXPIRE_TIMER = "lock:member:valid:timer:";

    /** 账号删除计时 */
    String DEL_ACCOUNT = "del:account:id:expire:";
    /** 会员过期计时-普通 */
    String MEMBER_COMMON_EXPIRE = "member:common:valid:id:expire:";
    /** 会员过期计时-专属 */
    String MEMBER_EXCLUSIVE_EXPIRE = "member:exclusive:valid:id:expire:";

    /** redisKey监听分布式锁 */
    String LOCK_REIDS_KEY_MONITOR = "lock:rediskey:";

    /** 签到分布式锁 */
    String LOCK_SIGN = "lock:sign:";

    /** callback分布式锁 */
    String CALL_BACK_RECHARGE = "lock:callback:recharge:";
    /** 提现分布式锁 */
    String LOCK_WITHDRAW_LOCK = "lock:withdraw:";
    /** 资料分布式锁 */
    String LOCK_CHECK_LOCK = "lock:check:";
    /** 发送消息布式锁 */
    String LOCK_SEND_MSG = "lock:sendmsg:";
    /** 挂电话布式锁 */
    String LOCK_CANCEL_CALL = "lock:cancelcall:";
    /** 打电话布式锁 */
    String LOCK_START_CALL = "lock:startcall:";
    /** 开始账单分布式锁 */
    String LOCK_START_BILL = "lock:startbill:";
    /** 打电话分布式锁 */
    String LOACK_CALL = "lock:call:";
    /** 小猪付款成功分布式锁 */
    String LOCK_PIGGY_PAY = "lock:piggy:";
    /** 钱包分布式锁 */
    String LOCK_WALLECT = "lock:wallect:";
    /** 认证分布式锁 */
    String LOCK_CHECK = "lock:check:";
    /** 腾讯云回调分布式锁 */
    String LOCK_RTC_CALLBACK = "lock:rtccallback:";
    /** 通话挂断 */
    // String CALL_HANGUP_UPDATE = "call:hangup:expire:";
    /** 通话计费更新 */
    String CALL_BILL_UPDATE = "call:bill:expire:";
    /** 通话心跳次数 */
    String CALL_KEEP_LIVE_TIMES_UPDATE = "call:keeptimes:";
    /** 通话计费次数 */
    String CALL_PRICE_TIMES_UPDATE = "call:pricetimes:";

    /** 通话状态更新 */
    String CALL_STATUS_UPDATE = "call:user:expire:";

    /** 缓存同步更新 */
    String CACHE_UPDATE_SENSITIVE = "cache:update:sensitive:word:expire:";

    /** 敏感词缓存 */
    String SENSITIVE_WORD = "sensitive:word";

    /** 敏感词缓存 */
    String START_MATCH_LIMIT = "match:limit:";

    /** 消息流限制,对象未回复最多三条 */
    String MSG_LIMIT = "limit:send:msg:";

    /** 消息权限开放标识,24小时内无限制 */
    String MSG_TIME_LIMIT = "limit:time:send:msg:";

    /** 查看资料自动消息的限制 */
    String CHECK_INFO_MSG_LIMIT = "limit:check:info:msg:";

    /** 消息流限制,每日免费消息 */
    String MSG__FREE_LIMIT = "limit:free:msg:";

    /** 男用户每日免费通话时间 */
    String LIMIT_MALE_FREE_CALL_DAY = "limit:call:male:";

    /** 匹配次数 */
    String MATCH_LIMIT = "limit:match:";
    //    /** 每日消息次数 */
    //    String MATCH_LIMIT = "limit:msg:";
    /** 登录流限制 */
    String LOGIN_LIMIT = "limit:Login:";
    /** 点赞分布式锁 */
    String REDIS_LOCK_LIKE = "lock:like:";

    String REFRESH_TOKEN = "Authorization:app_user:refresh_token:";
    /** 用户过期Token置换暂存 */
    String TOKEN_CHANGE_PREFIX = "Authorization:login:session:app_user:";

    String LAST_ACTIVE = "Authorization:login:last-active:";

    String TOKEN = "Authorization:login:token:";

    String SESSION_TOKEN = "Authorization:login:token-session:";

    /** 用户过期Token后缀 */
    String TOKEN_EXPIRE = "expire:";

    //    /** 用户过期Token置换暂存 */
    //    String TOKEN_CHANGE_DELAY = "Authorization:delay:";

    /** 在线用户列表 redis key */
    String USER_ONLINE = "user_online:";

    /** 在线用户 redis key */
    String ONLINE_TOKEN_KEY = "online_tokens:";

    /** 验证码 redis key */
    String CAPTCHA_CODE_KEY = "captcha_codes:";

    /** 参数管理 cache key */
    String SYS_CONFIG_KEY = "sys_config:";

    /** 字典管理 cache key */
    String SYS_DICT_KEY = "sys_dict:";

    /** 防重提交 redis key */
    String REPEAT_SUBMIT_KEY = "repeat_submit:";

    /** 限流 redis key */
    String RATE_LIMIT_KEY = "rate_limit:";

    /** 登录账户密码错误次数 redis key */
    String PWD_ERR_CNT_KEY = "pwd_err_cnt:";
    /** 通话违规次数 */
    String CALL_SNAP_TIMES_KEY = "call_snap_times_key:";
}
